all: fmt build
	
fmt:
	go fmt ./...

lint:
	go vet ./...

imports:
	gopls imports -w main.go

build: fmt
	go build -ldflags='-s -w' -o bin/main main.go
	go build -gcflags='all=-N -l' -o bin/debug main.go

run:
	./bin/main

checkrace:
	go run --race main.go

test:
	go test -v ./...

bench:
	go test -bench=. ./... -benchmem
